﻿namespace Falcon.Forums.Domain.Values
{
	using Falcon.Core.Domain.Values;

	public class ForumPermissionUpdate : ValueBase<ForumPermissionUpdate>
	{
		/// <summary>
		/// Gets or sets the id.
		/// </summary>
		/// <value>The id.</value>
		public int Id
		{
			get;
			set;
		}

		/// <summary>
		/// Gets or sets the actions.
		/// </summary>
		/// <value>The actions.</value>
		public ForumPermissionValue[] Actions
		{
			get;
			set;
		}

		/// <summary>
		/// Gets or sets the posts actions.
		/// </summary>
		/// <value>The posts actions.</value>
		public ForumPermissionValue[] PostsActions
		{
			get;
			set;
		}

		/// <summary>
		/// Gets or sets the topics actions.
		/// </summary>
		/// <value>The topics actions.</value>
		public ForumPermissionValue[] TopicsActions
		{
			get;
			set;
		}

		/// <summary>
		/// Validates this instance.
		/// </summary>
		public override void Validate()
		{
			this.Rules().Validate(this);
		}
	}
}